home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok40.lha / Environment / IntuiSup.Mod < prev    next >
Text File  |  1993-08-15  |  3KB  |  98 lines

  1. IMPLEMENTATION MODULE IntuiSup;
  2. (*---------------------------------------------------------------------------
  3.    :Program.    IntuiSup
  4.    :Version.    1.5
  5.    :History.    Jan-88
  6.    :Author.     Markus Peuckert
  7.    :Address.    Schützenstr. 50, D-3550 Marburg, West-Germany,
  8.    :Copyright.  ShareWare
  9.    :Language.   Modula-2
  10.    :Translator. M2Amiga V3.3d
  11. ---------------------------------------------------------------------------*)
  12.  
  13. FROM SYSTEM     IMPORT    ADR, ADDRESS;
  14. FROM Intuition    IMPORT    Gadget, GadgetFlags, GadgetFlagSet, Border, StringInfo,
  15.             boolGadget, strGadget, ActivationFlags, ModifyIDCMP,
  16.             ActivationFlagSet, IDCMPFlags, IDCMPFlagSet,
  17.             WindowFlags, WindowFlagSet, WindowPtr, NewWindow,
  18.             OpenWindow, ScreenFlags, ScreenFlagSet, IntuiText,
  19.             OpenIntuition, IntuitionBasePtr;
  20. FROM Graphics    IMPORT    jam1;
  21.  
  22.  
  23. VAR    IntuiBasePtr        : IntuitionBasePtr;
  24.  
  25.  
  26. PROCEDURE InitBorder (VAR Bord : Border; xyData, next : ADDRESS);
  27. BEGIN
  28.  WITH Bord DO
  29.   leftEdge:=-1; topEdge:=-1; frontPen:=1; backPen:=0; drawMode:=jam1;
  30.   count:=5; xy:=xyData; nextBorder:=next
  31.  END
  32. END InitBorder;
  33.  
  34. PROCEDURE InitStringInfo (VAR Info : StringInfo;
  35.               VAR buf, unbuf : ARRAY OF CHAR);
  36. BEGIN
  37.  WITH Info DO
  38.   buffer:=ADR(buf);    undoBuffer:=ADR(unbuf);    bufferPos:=0;
  39.   maxChars:=HIGH(buf);    dispPos:=0
  40.  END
  41. END InitStringInfo;
  42.  
  43. PROCEDURE InitIText (VAR IText : IntuiText; x,y : INTEGER; text : ADDRESS);
  44. BEGIN
  45.  WITH IText DO
  46.   frontPen:=1; backPen:=0; drawMode:=jam1; leftEdge:=x; topEdge:=y;
  47.   nextText:=NIL; iText:=text
  48.  END
  49. END InitIText;
  50.  
  51. PROCEDURE CreateGadget (VAR Gad : Gadget; x,y,w,h,ID : INTEGER; Type:CARDINAL;
  52.              next, Info, Bord, Text : ADDRESS;
  53.              Activ : ActivationFlagSet);
  54. BEGIN
  55.  WITH Gad DO
  56.   nextGadget:=next;    leftEdge:=x;     topEdge:=y;    width:=w;
  57.   height:=h;        flags:=GadgetFlagSet{};     gadgetType:=Type;
  58.   gadgetRender:=Bord;    selectRender:=NIL;        gadgetText:=Text;
  59.   specialInfo:=Info;    gadgetID:=ID;   userData:=NIL;    activation:=Activ
  60.  END;
  61. END CreateGadget;
  62.  
  63. PROCEDURE CreateWindow(x,y,w,h : INTEGER; if: IDCMPFlagSet; wf: WindowFlagSet;
  64.                        gad,scr,tit : ADDRESS; typ : ScreenFlagSet) : WindowPtr;
  65. VAR
  66.  nw: NewWindow;
  67. BEGIN
  68.  WITH nw DO
  69.   leftEdge:=x; topEdge:=y; width:=w; height:=h; detailPen:=0; blockPen:=1;
  70.   idcmpFlags:=if; flags:=wf; firstGadget:=gad; checkMark:=NIL; title:=tit;
  71.   screen:=scr; bitMap:=NIL; minWidth:=160; minHeight:=14; maxWidth:=w;
  72.   maxHeight:=h; type:=typ
  73.  END;
  74.  RETURN OpenWindow(nw)
  75. END CreateWindow;
  76.  
  77. PROCEDURE IDCMPOn (window : WindowPtr; flags : IDCMPFlagSet);
  78. BEGIN
  79.  ModifyIDCMP (window, flags)
  80. END IDCMPOn;
  81.  
  82. PROCEDURE IDCMPOff (window : WindowPtr);
  83. BEGIN
  84.  ModifyIDCMP (window, IDCMPFlagSet{})
  85. END IDCMPOff;
  86.  
  87. PROCEDURE ActivWindow () : WindowPtr;
  88. BEGIN
  89.  RETURN IntuiBasePtr^.activeWindow
  90. END ActivWindow;
  91.  
  92.  
  93. BEGIN
  94.  
  95.  IntuiBasePtr := OpenIntuition();
  96.  
  97. END IntuiSup.Mod
  98.